home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-01 / extmath.zip / README.PLS < prev   
Text File  |  1993-01-07  |  3KB  |  63 lines

  1. January 7, 1993
  2.  
  3. This is a library of C-callable assembler subroutines to do 64-bit
  4. unsigned math. The header file, extmath.h, typedef's an 8-byte data
  5. type, "extnum_t", which the functions all use. All the functions are
  6. two-operand operations, leaving the result in the second ("dest")
  7. argument, excepting ExtNeg(), which is a unary operation; ExtCmp(),
  8. which returns a signed integer as its result; and the two divide
  9. routines, ExtDiv() and ExtDivB(), which take four arguments (divisor,
  10. dividend, quotient, remainder).
  11.  
  12. All the code has been assembled and tested with Borland Turbo Assembler
  13. and Turbo C++ 1.0, small memory model, on a 12MHz 286 AT-clone. Only
  14. 8088-compatible opcodes are used.
  15.  
  16. The routines are all original code, and are released to the public
  17. domain. You may use them however you wish. If you use them and you
  18. feel moved to credit the author, I'll appreciate it.
  19.  
  20. I'm pretty new to Intel assembler programming, so if you have any
  21. comments, corrections or improvements, I'd love to see them.
  22.  
  23. Tim Victor                              Compuserve: 766366,2527
  24.                                         Internet: timv@well.sf.ca.us
  25.  
  26.  
  27. You should have these files:
  28.  
  29. readme.pls      This file.
  30.  
  31. divtest.c       Programming example, comparing the speed of the two
  32.                 divide algorithms on an array of random numbers.
  33.  
  34. divtest.exe     Executable version of example.
  35.  
  36. divtest.rsp     Turbo Link response file for divtest.c. (tlink @divtest.rsp)
  37.                 It's probably specific to Turbo C++ version 1.0, but using it
  38.                 with later versions should just mean changing some pathnames.
  39.  
  40. extmath.h       C header file. Defines 64-bit int type (extnum_t), declares
  41.                 all the assembler functions.
  42.  
  43. extmath.lib     Object library containing 64-bit math routines.
  44.  
  45. extadd.s        Assembler source for ExtAdd(), 64-bit unsigned add.
  46.  
  47. extcmp.s        Assembler source for ExtCmp(), 64-bit unsigned compare.
  48.  
  49. extdiva.s       Assembler source for ExtDiv(), 64-bit unsigned divide.
  50.  
  51. extdivb.s       Assembler source for ExtDivB(), a simpler, shorter, 64-bit
  52.                 unsigned divide. About an order of magnitude slower than
  53.                 ExtDiv() for the data set in divtest.c.
  54.  
  55. extdup.s        Assembler source for ExtDup(), 64-bit unsigned copy.
  56.  
  57. extmul.s        Assembler source for ExtMul(), 64-bit unsigned multiply.
  58.  
  59. extneg.s        Assembler source for ExtNeg(), 64-bit unsigned 2's complement.
  60.  
  61. extsub.s        Assembler source for ExtSub(), 64-bit unsigned subtract.
  62.     
  63.